package com.smart.community.feign.region.dto;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 区域树形结构数据传输对象
 * 用于Feign接口的区域树形结构传输
 * 
 * @author Wu.Liang
 * @since 2025-01-21
 */
@Data
public class RegionTreeDTO {
    
    /**
     * 区域ID
     */
    private Long id;
    
    /**
     * 区域编码
     */
    private String regionCode;
    
    /**
     * 区域名称
     */
    private String regionName;
    
    /**
     * 区域类型：1-省，2-市，3-区县，4-街道，5-社区
     */
    private Integer regionType;
    
    /**
     * 父区域ID
     */
    private Long parentId;
    
    /**
     * 父区域名称
     */
    private String parentName;
    
    /**
     * 区域级别
     */
    private Integer level;
    
    /**
     * 完整名称（包含父级路径）
     */
    private String fullName;
    
    /**
     * 区域路径
     */
    private String path;
    
    /**
     * 排序
     */
    private Integer sortOrder;
    
    /**
     * 状态：0-禁用，1-启用
     */
    private Integer status;
    
    /**
     * 备注
     */
    private String remark;
    
    /**
     * 子区域列表
     */
    private List<RegionTreeDTO> children;
    
    /**
     * 是否有子节点（用于Element Plus树形表格懒加载）
     */
    private Boolean hasChildren;
    
    /**
     * 区域级别（用于前端层级背景色区分）
     */
    private Integer regionLevel;
    
    /**
     * 是否为根节点
     */
    private Boolean isRoot;
    
    /**
     * 是否为叶子节点
     */
    private Boolean isLeaf;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
} 